import router from './router'
import { getToken } from '@/utils/auth'
// 定义白名单，白名单中的路由无需权限验证
const whiteList = ['/login', '/register']

// 全局前置守卫
router.beforeEach(async(to, from, next) => {
  // 获取用户的 token
  const hasToken = getToken()

  if (hasToken) {
    if (to.path === '/login') {
      // 如果用户已登录且要访问登录页面，重定向到首页
      next({ path: '/' })
    } else {
      next()
    }
  } else {
    // 用户未登录
    if (whiteList.includes(to.path)) {
      // 如果要访问的路由在白名单中，允许访问
      next()
    } else {
      // 否则重定向到登录页面
      next(`/login?redirect=${to.path}`)
    }
  }
})
